<?php

class AssistidosController extends AppController {
	var $name = 'Assistidos';
	var $components = array ('Pagination','Acl');
	var $helpers = array('Html','Form','Accessibility','Pagination','Ajax','JavaScript');
	

	function index() {
		$title = 'Assistidos';
		$this->set('title', $title);
		$this->set('pageTitle', $title);
				
		$entidade_id = $this->Session->read("entidade_id");				
		$entidade = $this->Assistido->Unidade->findAllByEntidade_id($entidade_id);
								
		// Encontrando os assistidos da unidade								
		$assistidos = array();                								
		foreach($entidade as $e) {
			$id = $e['Unidade']['id'];	
			$assistidos = array_merge($assistidos,$this->Assistido->findAllByUnidade_id($id));
		}

		// Encontrando todos os assistidos de uma entidade (gerenciador entidade)
                //$unidade_id = $this->Session->read("unidade_id");  		
		//$assistidos = $this->Assistido->findAllByUnidade_id($unidade_id);
					
		// Encontrando todos os assistidos do sistema (admin)
		//$assistidos = $this->Assistido->findAll();
		
		$this->set('assistidos', $assistidos);
	}

	function view( $id=null ) {
		if (!$id) $this->redirect('/assistidos');
		
		$title = 'Visualizar assistido';
		$this->set('title', $title);
		$this->set('pageTitle', $title);
		
		$this->Assistido->id = $id;
		$this->set('assistido', $this->Assistido->read());
	}

	function add() {
		$title = 'Cadastrar assistido';
		$this->set('title', $title);
		$this->set('pageTitle', $title);
		
		$formulario = new Formulario();
		$conditionFormulario = array('entidade_id'=>$this->getEntidade());
		$this->set('formularios',$formulario->findAll($conditionFormulario));

		// Gerando lista de Unidades da Entidade
		$condition = array('entidade_id'=>$this->getEntidade());
		$this->set('unidades', $this->Assistido->Unidade->find('list',
							array('conditions'=>$condition, 'fields'=>array('id','nome'))));

		$this->set('cidades', $this->Assistido->Cidade->find('list'));

		if (!empty($this->data)) {
			//pr($this->data);
			//die("moreu");
			$aco = new Aco();
			$aco->create($this->Assistido->id, null, $this->data['Assistido']['nome']);
			if ($this->Assistido->save($this->data)) { 
				$_SESSION['mensagem']['success'][] = 'Assistido cadastrado com sucesso!';

				$assistido_id = $this->Assistido->getLastInsertId();

				$i = 0;
				while (isset($this->data["Fvalor_".$i])) {
					$dataFvalor = array("Fvalor"=>$this->data["Fvalor_".$i]);
					$dataFvalor["Fvalor"]["assistido_id"] = $assistido_id;
					$i++;
					$this->Assistido->Fvalor->create();
					if ($this->Assistido->Fvalor->save($dataFvalor)) {
						$_SESSION['mensagem']['success'][] = 'Valor cadastrado com sucesso! '.$i;
					} else {
						$_SESSION['mensagem']['error'][] = 'Erro ao cadastrar valor! '.$i;
					}
				}

			} else {
				$_SESSION['mensagem']['error'][] = 'Erro ao tentar cadastrar o assistido.';
			}
		}
	}

	function edit( $id=null) {
		if (!$id) $this->redirect('/assistidos');
		$this->set('title','Editar assistido');
		
		// Gerando lista de Unidades da Entidade
		$condition = array('entidade_id'=>$this->getEntidade());
		$this->set('unidades', $this->Assistido->Unidade->generateList($condition, null, null, '{n}.Unidade.id', '{n}.Unidade.nome'));

		$this->set('cidades', $this->Assistido->Cidade->generateList(null, null, null, '{n}.Cidade.id', '{n}.Cidade.nome'));
		$this->Assistido->id = $id;
		if (empty($this->data)) {
			$this->data = $this->Assistido->read();
		} else {
			if ($this->Assistido->save($this->data['Assistido'])) {
				$_SESSION['mensagem']['success'][] = 'Assistido alterado com sucesso!';
			} else {
				$_SESSION['mensagem']['error'][] = 'Erro ao tentar alterar o assistido.';
			}
			$this->redirect('/assistidos');
		}
		$assistido = $this->Assistido->find(array('`Assistido`.id' => $id));
		$this->set('assistido', $assistido);
	}

	function delete($id) {
		if (!$id) $this->redirect('/assistidos');
		if ($this->Assistido->del($id)) {
			$_SESSION['mensagem']['success'][] = 'Assistido excluido com sucesso!';
		} else {
			$_SESSION['mensagem']['error'][] = 'Erro ao tentar excluir o assistido.';
		}
		$this->redirect('/assistidos');
	}
}
